package com.mk.msg.template.base;

import org.osgl.util.C;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface MsWx extends MsgTemplate {
    default Set<String> phones() {
        return null;
    }

    @Override default Set<String> userids() {
        return C.newSet(userid());
    }

    @Override default Set<String> usertypes() {
        return null;
    }

    @Override default int _channels() {
        return MessChannel.WX.mask;
    }

    @Override default String _mtype() {
        return null;
    }

    @Override default String _sms_code() {
        return null;
    }

    @Override default boolean _save() {
        return false;
    }

    @Override default String title() {
        return null;
    }

    @Override default String msg() {
        return null;
    }

    @Override default String murl() {
        return null;
    }

    @Override default String pic() {
        return null;
    }

    @Override default Map<String, String> params() {
        Map<String, String> params = new HashMap<>();
        params.put("link", link());
        params.put("tempid", tempid());
        params.put("first", first());
        for (int i = 0; i < keywords().size(); i++) {
            params.put("keyword" + (i + 1), keywords().get(i));
        }
        params.put("remark", remark());
        return params;
    }

    List<String> userid();

    String tempid();

    String first();

    String remark();

    List<String> keywords();

    String link();
}